package com.xyj.zjbz.user.dao;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.xyj.zjbz.po.ZJDataSource;
import com.xyj.zjbz.po.Role;
import com.xyj.zjbz.po.User;

@Repository("userDAO")
public interface UserDAO {
	
	User validUser(User user);
	/**
	 * 根据登录名获取对应user
	 * @param loginName
	 * @return
	 */
	User getUserByLoginName(String loginName);
	/**
	 * 根据id获取对应的datasource
	 * @param sysId
	 * @return
	 */
	ZJDataSource getDataSourceById(Integer sysId);
	/**
	 * 获取user 的role
	 * @param userId
	 * @return
	 */
	List<Role> getRoleByUserId(Integer userId);
	/**
	 * 获取所有dataSource
	 * @return
	 */
	List<ZJDataSource> getAllDataSource();

	/**
	 * 添加一个数据源，基于Windows的cmd命令，需要机器上的mysql环境正常运行，并提供mysql管理员用户名和密码。
	 * 
	 * @param bzSystem
	 */
	void addDataSource(ZJDataSource bzSystem);

	/**
	 * 获取所有用户
	 * @return
	 */
	List<User> getAllUser();

	/**
	 * 根据id获取对应角色
	 * 
	 * @param id
	 * @return
	 */
	Role getRoleById(Integer id);
}
